Unit 4 Lab B
LAB B
Objective
To use File Arrival to detect the arrival of a multiple files and add a container jobs to process each one.
Summary
Congo Online Retail Inc. has a file for every office that made a staffing change during the month. There is no way to predict the number of files that will be present every day of the month but will always show up between 00:00 (midnight) and 7:00 PM. We will not know the name of the files, but we know the directory where they will be placed and the extension, .txt. Since these files come in randomly and multiple files can show up at once, only one file can be processed at a given time.
The steps taken to process each file are:
- Decrypt
- Import
- Post
- Archive
Lab Instructions
Create Resources and Properties
- Create a Resource called HR and give it a Max Value of
1
. - Create a Global Property for the Incoming folder with a value of
C:\Human Resources\Incoming Files
. - Create a Global Property for the Archive folder with a value of
C:\Human Resources\Archive
. - Create a new Managed System Property for $SCHEDULE DATE with a value of
yyyymm
Create the Sub-Schedule and Sub-Schedule Jobs
- Create a SubSchedule called SS-HR Import Processing, that runs Monday-Sunday and on Holidays.
- Create 4 Windows Jobs in the SS-HR Import Processing sub-schedule called:
- HR-Decrypt
- Runs
HR-Decrypt.cmd
which lives in C:\scripts
- Runs
- HR-Import
- Runs
HR-Import.cmd
which lives in C:\scripts
- Runs
- HR-Post
- Runs
HR-Post.cmd
which lives in C:\scripts
- Runs
- HR-Archive
- Use the
Command: File Move
Job Sub-Type - Use a combination of the Incoming Global Property and the
[[SI.FILENAME]]
for the SOURCE.- Example:
"[[HR-Incoming]]\[[SI.FILENAME]]"
- Example:
- Use a combination of the Archive Global Property, the
[[SI.FILENAME]]
and the current schedule date with a(-1m)
offset for the DESTINATION.- Example:
“[[HR-Archive]]\[[$SCHEDULE DATEyyyymm(-1m)]]-[[SI.FILENAME]]”
- Example:
- Use the
- HR-Decrypt
note
The Schedule Instance Property [[SI.FILENAME]]
will be passed by the File Arrival JOB:ADD Event
- All the jobs need to run as SMATRAINING\SMAUSER
- All the jobs need to run on SMATRAINING
- All the jobs must run every day
- Add Documentation to all Jobs
- The Jobs must run in this order, Decrypt → Import → Post → Archive
- Use the Property that points to the
C:\Scripts
path for the Command Lines
Create the Parent Schedule and Parent Schedule Jobs
- Create a Schedule called HR Import, that runs Monday-Sunday
- Add Documentation for the Schedule
- Auto-build the Schedule
7
days in advance for1
day - Auto-delete the Schedule for
7
days ago - Create a Container Job in HR Import called HR Import Processing
- The Container Job should run the sub-schedule, SS-HR Import Processing
- Add Documentation
- Give the container an OnRequest Frequency
- Give the container a Resource Dependency of 1
- Add a $JOB:RESTART event to the container job when it Finishes OK, so the File Arrival Job will restart.
- These are the parameters for the
$JOB:RESTART
event:- [[$SCHEDULE DATE]]
- [[$SCHEDULE NAME]]
- FA Incoming
- These are the parameters for the
- Create a File Arrival job called FA Incoming
- Monitor the C:\Human Resources\Incoming Files for any files that have a .txt extension.
- Example:
"[[HR-Incoming]]\*.txt"
or"C:\Human Resources\Incoming Files\*.txt"
- Example:
- Start Time for file creation should be
00:00
(midnight) - End Time for the file creation should be
07:00 PM
- Monitor the C:\Human Resources\Incoming Files for any files that have a .txt extension.
- Set Failure Criteria so that 0 or 1 will be considered Finish OK
- Add Documentation
- Give the job an Mon-Sun Frequency
- Add a $JOB:ADD event to the File Arrival job so that the container is added each time a file is seen.
- These are the parameters for the
$JOB:ADD
Event:- [[$SCHEDULE DATE]]
- [[$SCHEDULE NAME]]
- HR Import Processing
- OnRequest
- FILENAME=[[JI.$ARRIVED SHORT FILE NAME]]
- These are the parameters for the
- Add an Embedded Script job called Create HR Files to the HR Import Schedule
- Configure the Windows Job to use Job Action Embedded Script and select the Lab_4 script
- Do not forget to select
PowerShell
as the Runner
- Do not forget to select
- The script will create the files under the C:\Human Resources\Incoming Files folder
- The Job must run on the SMATRAINING machine under the SMATRAINING\SMAUSER account
- Give it the Frequency Monday-Sunday
- Add Documentation
Build the Schedule
- Build the schedule for today's date
- Monitor the schedule to ensure that each of the 5 files is processed.
- You should process a file for each of the following cities but not necessarily in this order:
- Chicago
- Houston
- Los Angeles
- New York
- Philadelphia